1. Technology Field
The present invention relates to a data writing method for a rewritable non-volatile memory module, and a memory controller and a memory storage apparatus using the same.
2. Description of Related Art
Digital cameras, mobile phones, and MP3 music players have undergone rapid growth in recent years, so that consumer demand for storage media has also drastically increased. Since a rewritable non-volatile memory has the characteristics of non-volatility of data, low power consumption, small volume, non-mechanical structure, and fast reading and writing speed, the rewritable non-volatile memory is the most adaptable memory to be applied in a portable electronic product, e.g., a notebook computer. A conspicuous solid state drive (SSD) is a storage apparatus which utilizes a flash memory as its storage medium. Therefore, the flash memory industry has become a very popular part of the electronic industry in recent years.
With the development of semiconductor manufacturing technology, a multi level cell (MLC) NAND flash memory module has been extensively applied. Due to the physical properties of the MLC NAND flash memory, when some physical pages are programmed, charges are rather unstable, and other physical pages adjacent to the programmed physical pages may be affected. For instance, in a 4-level flash memory module, each physical block has a plurality of physical pages, and the physical pages may be categorized into a plurality of lower physical pages and a plurality of upper physical pages respectively corresponding to the lower physical pages, wherein each of the upper physical pages corresponds to one of the lower physical pages. Namely, memory cells on the same word line constitute a physical page set that contains one lower physical page and one upper physical page. The speed of writing data into the lower physical page is faster than the speed of writing data into the upper physical page; therefore, the lower physical page is defined as a fast physical page, while the upper physical page is defined as a slow physical page. Particularly, while the upper physical page is being programmed, given that there is a program failure, the data stored in the lower physical page corresponding to the programmed upper physical page may be lost. Hence, compared to a single level cell (SLC) NAND flash memory module, the MLC NAND flash memory module has relatively large capacity, whereas the reliability of the MLC NAND flash memory module is worse.
In some particular application, the data reliability need be specially ensured. For instance, in a case where the MLC NAND flash memory module is integrated into a smart card for capacity expansion, if a file is unsuccessfully written in an address and such failure leads to loss of files stored in other addresses, the reliability of the smart card will be questioned and the smart card can not be accepted by a user.
Accordingly, it is necessary to develop a data writing method that can enhance the reliability of an MLC NAND flash memory module.